﻿Imports extranet.BE
Imports extranet.DA

Public Class BCFranquia

  Public Shared Sub Cadastrar(ByVal objBEFranquia As BEFranquia)
    Dim objDAFranquia As New DAFranquia
    Try
      objDAFranquia.Cadastra(objBEFranquia)
      System.IO.Directory.CreateDirectory(objBEFranquia.DiretorioFisico)
    Catch ex As ApplicationException
      Throw New ApplicationException("extranet.BC.BCFranquia.Cadastrar(): " & ex.Message)
    End Try
  End Sub

  Public Shared Sub Atualizar(ByVal objBEFranquia As BEFranquia)
    Dim objDAFranquia As New DAFranquia
    Dim objBEFranquiaOld As BEFranquia = Selecionar(objBEFranquia.IdFranquia)(0)
    If Not objBEFranquia.Nome = objBEFranquiaOld.Nome Then
      objBEFranquiaOld.DiretorioFisico = objBEFranquia.DiretorioFisico.Replace("\" & objBEFranquia.Nome, "\" & objBEFranquiaOld.Nome)
      System.IO.Directory.Move(objBEFranquiaOld.DiretorioFisico, objBEFranquia.DiretorioFisico)
    End If
    objDAFranquia.Atualiza(objBEFranquia)
  End Sub

  Public Shared Sub Excluir(ByVal objBEFranquia As BEFranquia)
    Dim objDAFranquia As New DAFranquia
    objDAFranquia.Exclui(objBEFranquia)
  End Sub

  Public Shared Function Selecionar() As List(Of BEFranquia)
    Dim objDAFranquia As New DAFranquia
    Return objDAFranquia.Seleciona(Nothing)
  End Function

  Public Shared Function Selecionar(ByVal intIdFranquia As Integer) As List(Of BEFranquia)
    Dim objDAFranquia As New DAFranquia
    Return objDAFranquia.Seleciona(New BEFranquia(intIdFranquia))
  End Function

  Public Shared Function Selecionar(ByVal strFranquia As String, ByVal sortExpression As String, ByVal sortDirection As String) As List(Of BEFranquia)
    Dim objDAFranquia As New DAFranquia
    objDAFranquia.objQuery.Sort = New BESort(sortExpression, sortDirection)
    Return objDAFranquia.Seleciona(New BEFranquia(strFranquia))
  End Function

End Class
